<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../../react18/react.development.js"></script>
    <script src="../../react18/react-dom.development.js"></script>
    <script src="../../react18/babel.min.js"></script>
    <script src="../../react18/prop-types.js"></script>
</head>
<div id="app"></div>
<script type="text/babel">
    class App extends React.Component {
        state = {
            name: '晓月',
            age: 18,
            hobby: '游戏'
        }
        render() {
            const { name, age, hobby } = this.state
            return (
                <div>
                    名字：<input type="text" value={name} onChange={this. changeForm('name')} />
                    <br/>
                    年龄：<input type="text" value={age} onChange={this. changeForm('age')} />
                    <br/>
                    爱好：<input type="text" value={hobby} onChange={this. changeForm('hobby')} />
                    <br/>
                    <button onClick={this.submit}>submit</button>
                </div>
            )
        }
        changeForm=(type)=>{
            return (e)=>{
                const {value}=e.target
                this.setState({[type]:value})
            }
        }
        submit=()=>{
            const {name,age,hobby}=this.state
            console.log(name,age,hobby);
        }
    }
    const root = ReactDOM.createRoot(document.getElementById('app'));
    root.render(<App />)
</script>

<body>

</body>

</html>